The present invention relates to the field of remote communication systems, and more particularly to a remote system which interfaces with one or more host systems by receiving and interpreting advanced operating system based command instructions from a host system and executing the instructions on the remote system using the operating system instruction set of the remote system.
Remote terminals are commonly used to communicate with host computer systems. Such terminals provide users at remote locations with access to the programs, databases and other resources of the host system. The communication between remote terminal and host system typically occurs via telephone lines or other serial or parallel communication lines. A strict communication protocol is required to send and receive data or other information to and from the host system.
Traditionally, a terminal comprised a dedicated hardware device which was capable of sending information to a host system and receiving and displaying information received from the host system. The teletype machine is one early example of a dedicated hardware terminal. The teletype machine is capable of interpreting a stream of data characters from a host system and printing the results of its interpretation on fan fold paper for the user to view. Users of teletype machines are also able to send messages or requests to the host system by typing on the teletype machine""s keyboard.
An improvement to the basic teletype machine is a cathode ray tube (CRT) terminal. Early character based CRT terminals communicate with host systems in much the same way as the older teletype machines. However, instead of printing information received from the host system on fan fold paper, the information is displayed on the CRT screen. Displaying the information on the screen enhances the user interface of the terminal. Character based terminals communicate by interpreting a stream of alphanumeric and control characters sent by the host system. Alphanumeric characters sent by the host system are displayed on the screen of the remote terminal while control characters are used to control the location of the terminal cursor, thereby controlling the location of the alphanumeric characters to be displayed.
The character based CRT terminals, while an improvement over the basic teletype machines, have certain drawbacks and deficiencies. Specifically, the user interfaces of character based terminals are severely limited due to the main bottleneck of remote communicationxe2x80x94namely, transfer speed. Since only a limited amount of data may be sent via the communication lines to the remote terminal at any given time, it is often necessary to provide the user at the remote terminal with short, cryptic command line prompts rather than more elaborate full text prompt screens, thereby reducing the data transfer bottleneck of the system. As a result, either system speed or user friendliness suffers measurably.
Another type of terminal which uses a CRT display is a graphics based terminal. In addition to displaying alphanumerical characters, graphics based terminals are capable of interpreting commands from the host computer to draw lines, boxes, circles, stylized text, and certain graphical characters on the graphics display of the terminal. In this way, the user-friendliness of the interface may be improved over character based terminals. However, graphics based terminals are typically more expensive than character based terminals and offer improvements in the user friendliness of the interface only at the sacrifice of system speed.
With the explosion in the popularity of the personal computer, a large market arose for the development of terminal emulators. A terminal emulator typically has a small software program which allows a computer to emulate a xe2x80x9cdumbxe2x80x9d terminal so that the computer can communicate remotely with a host system using the known communication protocol of a dedicated terminal. The host system often is unaware that a terminal emulator is communicating with it rather than an actual terminal. The host system simply sends and receives data consistent with the known communication protocol. The terminal emulator program interprets the commands from the host system and sends and receives information to and from the host system.
Of course, the same problems and limitations inherent in the character based and graphics based dedicated terminals, such as limited throughput and user unfriendliness, are also present in character based and graphic based terminal emulators.
To improve upon the user interface and to avoid many of the problems associated with the bottleneck of data throughput, some xe2x80x9cterminal emulatorxe2x80x9d systems employ host specific dedicated terminal software programs. Such dedicated terminal programs reside on the remote computers and are executed by the remote computers to initiate and maintain communication with the host systems. Unlike standard character and graphics terminal emulators described above, terminal programs often have certain graphics as well as the text of many of the prompt screens already stored in the fixed storage device of the remote computer. For example, before connecting to a host system, the terminal program may display a log-on screen or a help screen to assist the user. The text of the log-on or help screen is accessible remotely to the terminal program without needing to communicate with the host system.
In addition, calculations and other executable functions may be performed by the dedicated terminal program on the remote computer. In this manner, the dedicated terminal programs convert the remote computer into a xe2x80x9csmartxe2x80x9d terminal, thereby relieving the host system from many of the tasks normally performed by the host system. The result is customized, user-friendly prompt screens, added features such as on-line help and other tools, and increased speed and efficiency of the entire system.
The dedicated terminal programs, however, also have certain drawbacks and deficiencies. By definition, these complicated software programs are not terminal emulators because they are not actually xe2x80x9cemulatingxe2x80x9d any specific type of terminal. Instead, the terminal software program and host system communicate with each other using a unique protocol which both systems understand. The software programs are customized to the specific requirements of the host system and interact as an integral part of the host software. As a result, a major problem with dedicated software programs is that they are only compatible with the software of one specific host system. True terminal emulators use standard character or graphics communication protocols known to many host systems, and therefore, true terminal emulators are generic and may communicate with hundreds of host systems. Host specific dedicated terminal programs on the other hand are not flexible and only recognize and respond to very specific commands of one host system.
Moreover, since each command of the dedicated software program is specific to the host for which it was designed, a new terminal program must be written for each new host system. Developing hundreds or thousands of dedicated terminal programs for each different type of host system is unworkable. In addition to the time-consuming nature and expense of such an undertaking, many remote systems would not have sufficient data storage capacity to store the thousands of dedicated terminal programs required.
A second problem with dedicated terminal programs is that they are often large and complicated. Since a primary purpose of the dedicated terminal program is to off-load certain tasks and text handling responsibilities from the host system to the remote computer, the software programs usually require a substantial amount of disk storage space and are typically difficult to install and maintain on the remote computer.
A third problem with dedicated terminal programs is the difficulty in implementing dynamic changes to the host. With standard character or graphics terminals or emulators, changes to the host system do not require changes to the terminals or emulators themselves. However, with dedicated terminal programs, a change in the host system often requires substantial corresponding changes to the dedicated terminal program as well. For example, when the host system modifies or adds a new feature to a prompt screen, such as to the log-in screen or a help screen, then both the host system and the dedicated terminal program must be updated to accommodate the change. Updating the dedicated terminal program at each remote location is no minor task. Disks containing the updated version of the dedicated terminal program must be sent through the mail to each remote location or some other kind of sophisticated on-line patching of the dedicated terminal program must be performed.
In view of the foregoing, it is a primary object of the present invention to provide a fast, efficient remote communication system which provides user-friendly operation without the drawbacks and deficiencies of the prior art systems and devices.
A general object of the present invention is to provide a flexible remote communication system which can utilize the operating systems of remote computers to achieve user-friendly interfaces with the host system, such as those found in graphical or windowing environments.
Another general object of the present invention is to provide a remote communication system which is designed to be compatible with many independent host systems.
An additional object of the present invention is to provide a remote communication system which has a relatively small software interface program and does not require modification when the systems of the hosts are updated or modified.
The foregoing and other objects are, in the present invention, embodied in an improved remote communication system. This system is different from prior devices and methods that have large, complicated terminal dedicated programs which are incompatible the software of multiple host systems and which are difficult to maintain and update as the host systems are changed and updated. The remote communication system of the present invention provides a fast, efficient and user-friendly interface which does not suffer from the inefficiencies of the data transfer bottlenecks inherent in the prior art devices and methods.
In accordance with one aspect of the present invention, an operating system based remote communication system is achieved by providing a remote computer with a small, relatively simple terminal program which receives and interprets both data and command instructions from the host system. Rather than having a complicated dedicated terminal program to interpret and execute host specific commands, the emulator of the present invention employs commands which are based on fundamental tasks that the operating system of the remote terminal may understand and implement, such as creating windows, buttons, edit fields, listboxes and other operating system objects. In addition to sending, receiving and displaying data between the host system and the terminal, a function of the remote communication system of the present invention is to receive and interpret instructions from the host, instruct the operating system of the remote terminal to execute the instructions, and then report the successful completion of the instruction back to the host system.
Thus, the present invention discloses a remote communication system wherein user-friendliness is achieved by providing the user with a windowing or graphic interface with which the user is familiar; speed and throughput is increased by relieving the host system from the burden of displaying and maintaining the user interface; and portability and flexibility is achieved by employing commands tailored to the features of the operating system of the remote terminal computers, not host specific commands.
An advantage to the present invention includes the ability to maintain the beneficial characteristics of character based emulators, graphics based emulators, and dedicated terminal program xe2x80x9cemulatorsxe2x80x9d while alleviating many of the problems inherent in each of the systems.
Other objects and advantages of the present invention will become apparent from the following detailed description when taken in conjunction with the drawings, in which: